import * as React from "react" import { type SearchParams } from "@/types/table" import { getValidFilters } from "@/lib/data-table" import { DataTableSkeleton } from "@/components/data-table/data-table-skeleton" import { getBidProjectLists } from "@/lib/bidding-projects/service" import { searchParamsBidProjectsCache } from "@/lib/bidding-projects/validation" import { BidProjectsTable } from "@/lib/bidding-projects/table/projects-table" import type { Filter } from "@/types/table" interface IndexPageProps { searchParams: Promise } export default async function IndexPage(props: IndexPageProps) { const searchParams = await props.searchParams const search = searchParamsBidProjectsCache.parse(searchParams) // URL에서 프로젝트 타입 가져오기 const projectType = searchParams.type || "all" // 기존 필터에 프로젝트 타입 필터 추가 let filters = search.filters || [] // 타입별 필터링 (전체가 아닌 경우만) if (projectType !== "all") { const typeFilter: Filter = { id: "pjtType", value: projectType, type: "select", operator: "eq" } // 기존 pjtType 필터가 있으면 제거하고 새로 추가 filters = filters.filter(f => f.id !== "pjtType") filters = [...filters, typeFilter] } const validFilters = getValidFilters(filters) const promises = Promise.all([ getBidProjectLists({ ...search, filters: validFilters, }), ]) return ( } > ) }